Amazon Simple Storage Service (S3)
from AWS 2024/7/4
from AWS SAA学習ログ|Ping-tを活用して本番試験に慣れる 2024/7/4
質問.iconS3とは?
安価で耐久性が高く、保存容量が無制限のオブジェクトストレージサービス
質問.iconS3の構成要素は?
オブジェクト:データに固有IDを付与したもの
バケット:オブジェクトが保存される領域
質問.iconS3の種類は?
S3には複数の種類(ストレージクラス)がある
table:S3のストレージクラス
ストレージクラス 料金(高1-低6) 取り出し料金 取り出し遅延 保存AZの数 最短保存期間 取り出し頻度
S3 Standard 1 無し 無し 3以上 無し 1回以上/月
S3 Intelligent-Tiering 変動 無し 変動 3以上 無し 不定期
S3 Standard-IA 2 有り 無し 3以上 30日間 1回/月
S3 One Zone-IA 3 有り 無し 1 30日間 1回/月
S3 Glacier Instant Retrieval 4 有り 無し 3以上 90日間 1回/四半期
S3 Glacier Flexible Retrieval 5 有り 数分〜数時間 3以上 90日間 1回/年
S3 Glacier Deep Archive 6 有り 数時間 3以上 180日間 1回/年
※最短保存期間:一定期間が過ぎるまで保存できない期間
※IA(Infrequent Access):低頻度アクセス。データを比較的低い料金で保存できるが、データを取得する際に追加の費用が発生する
質問.iconどんな機能がある?
a.icon主要機能
1.iconライフサイクルポリシー
S3内のバケットに対して、ストレージクラスの変更やオブジェクトの削除を自動化する機能
指定した期間が経過したデータを自動的によりコストパフォーマンスの高いストレージへ移動したり、保管期限が過ぎたデータを削除したりできる。アクセス頻度が予測できるデータや、保管期間が決められているデータのバケットに設定することでコスト削減の効果が期待できる
2.icon静的Webサイトホスティング
バケットに保存している静的コンテンツ(HTMLやJPGなど)をWebサイトとして公開できる機能。Webサイトとして公開したい静的コンテンツのあるバケットは「静的Webサイトホスティング」を有効にし、バケットをパブリックに読み取り可能になるように設定する
3.icon著名付きURL
非公開設定されたオブジェクトに対して有効期限のついたURLを発行することで、AWSアカウントを持っていないユーザーでも一時的にアクセスが可能になる機能
4.iconS3イベント通知
S3バケットに発生したイベント(オブジェクトの作成や削除など)をトリガーに通知を行う機能。通知先はLamda関数/SQSキュー/SNSトピック/EventBridge
ex)S3にオブジェクトが作成されたらLambda関数を呼び出すといった利用方法がある
5.iconリクエスタ支払い
Amazon S3のオブジェクトへアクセスする際に発生する転送料金をアクセス元に対して転送料金が請求されるようになる
6.iconS3 Glacierの復元リクエスト
「S3 Glacier Flexible Retrieval」と「S3 Glacier Deep Archive」に保存されているアーカイブは直接ダウンロードできないので「復元リクエスト」を行い一旦S3バケットに取り出す
標準取り出し
データの取得に通常で数分〜数時間かかる
迅速取り出し
追加料金を払って迅速にデータを取り出す
250MBであれば通常1~5分以内に使用可能になる
S3 Glacier Flexible Retrieval」のみ選択可能
大容量取り出し
標準取り出しより時間がかかるが取り出し料金が低価格になる
ペタバイト単位のデータを1日かけて取り出す
b.iconS3のデータ保護
1.iconバージョニング
オブジェクトの世代管理ができる機能。この機能を有効にすることで、同じキー(オブジェクトのパス)に対して、複数のバージョンを保存できるようになる。オブジェクトが更新された場合でも、以前のバージョンを保持し、必要に応じてそれらにアクセスできる
2.iconMFA Delete
S3にバージョニング機能を使用して管理されているオブジェクトを削除する際に、MFAデバイスの認証が必要となる機能。ルートユーザーのみが、世代管理されたデータの削除権限を持つようになる
c.iconオブジェクトロック
保存したオブジェクトに対して更新/削除を制限する機能
1.iconリーガルホールド(保持期間無期限)
権限(s3:PutObjectLegalHold)を持たないユーザーに対して、リーガルホールドが解除されるまでオブジェクトを読み取り専用にする。権限を持つユーザーのみオブジェクトの更新・削除と、リーガルホールドの解除ができる。
2.iconリテンションモード(保持期限付き)
ガバナンスモード
権限(s3:BypassGovernanceRetention)を持たないユーザーに対して、指定した保持期間中オブジェクトを読み取り専用にする。権限を持つユーザーのみオブジェクトの更新・削除と、ガバナンスモードの解除ができる。
コンプライアンスモード
ルートユーザーを含む全てのユーザーに対して、指定した保持期間中オブジェクトを読み取り専用にする。保持期間中はルートユーザーを含めてコンプライアンスモードを解除できない。
d.iconS3のデータ転送
1.iconS3 Transfer Acceleration
ユーザーからS3バケットへ、最適化されたネットワークルートを経由してデータを転送させる機能。地理的に近いエッジロケーションから高パフォーマンスなAWSネットワークを経由してS3バケットへアクセスする
2.iconマルチパートアップロード
S3に対して、一度にアップロードできる最大サイズは5GBで、それを超える場合にはマルチパートアップロードを利用する。マルチアップロードは単一のオブジェクトを複数のデータに分割して、S3にアップロードする機能。並列にアップロードされるので、アップロード時間を大幅に短縮できる。エラーが発生した場合も、そのパートのみ再送するので、他パートに影響を及ぼさない。
マルチアップロードのプロセスが完了せずに中断され、不完全なファイルがストレージを占有すると料金が発生してしまう。対策としてライフサイクルポリシーにて、不完全なマルチパートアップロードを削除するポリシーを設定し、自動的に削除すること
3.iconS3レプリケーション
S3バケットのデータを異なるバケットへ自動的にコピーしたい場合に使用する
e.iconS3のアクセス制御
1.iconバケットポリシー
S3で保存しているデータにバケット単位でアクセス権限を設定する機能
アクセス元のIPアドレスやドメイン名によるアクセス制御も可能
2.iconユーザーポリシー
3.iconACL(アクセスコントロールリスト)
AWSアカウント単位でアクセス権限を設定する機能。他のアカウントに対して、オブジェクトまたはバケットへの読み取り/書き込みを許可する
f.iconS3のデータ暗号化
1.iconサーバー側の暗号化(Server-Side Encryption:SSE)
概要
データがS3に保存されるタイミングで自動的にS3が暗号化を行う
データを取り出す時はS3がデータを複合してユーザーに渡す
暗号化の種類
SSE-S3:S3が管理している鍵を使用
鍵の利用状況の記録はできないが、簡単な設定で利用開始できる
保存データの暗号化を行いたいだけなどの簡易な要件に適している
SSE-KMS:AWS KMSに保存されているキーを使用する
鍵の利用状況を自動的に記録するなど高度な鍵管理が可能
SSE-C:ユーザーが管理している鍵を使用する
その他
サーバー側の暗号化を自動で適用するデフォルト暗号化機能がある
2.iconクライアント側の暗号化
データをアップロードする前にクライアント側で暗号化を行い、暗号化したデータをそのままS3に保存する。データを取り出す時は、暗号化したデータをS3からダウンロードした後、クライアント側で複合する